Documentation
-
WHAT IS WEBBA BOOKING
What is webba booking
WEBBA Booking is a WordPress booking plugin, fully customizable (design and wording) , automated and responsive.
Webba Booking has been designed and developed to have a grip as simple as possible and almost endless application options.
This means that a freelancer, a law firm, a hospital, whatever the type of service which requires a booking system or appointments made, all feel comfortable with Webba Booking.
We are very proud to have 100% positive reviews. The testimony of our customers rely heavily, as much as their personal requests. Webba Booking is often cited as among the best WordPress booking plugin in online media.
That said, the best is that you make your own opinion. For this, we invite you to read more, visit our website and try the demos. Know that you will be always welcome for any questions. -
INSTALL AND UPDATE
INSTALL AND UPDATE
Install
Step 1. Log into your WordPress Admin area.
Step 2. Look down the left-hand column for Plugins and then click on the button Add new :
Step 3. On the Add new page, click Upload Plugin button.
Step 4. On the Upload page, click Browse to browse for the plugin installation file in [path-to-your-downloaded-package]/Installation File/webba-booking.zip). Click Install Now.
Step 5. After the plugin installation, click Activate Plugin.Update
To get the new update of the plugin you should enter Purchase Code on the Activation section of plugin settings page. If you entered a valid Purchase Code, you will see update notification for Webba Booking plugin on the Plugins page when an update is available :
Click update now to update the plugin. All data and settings will be saved.
-
THE KEY CONCEPTS
THE KEY CONCEPTS
Services
Service is a main key concept of Webba Booking plugin. It represents information about different areas of company’s activities.
For each service, the administrator sets unique business hours, notification parameters, etc...
Service entity is a base for sharing an access between WordPress users(administrators, editors,contributors, etc..).
For information about operation with services (add, edit, delete) see Services management chapter of this documentation.Schedules
Each service has its own schedule with unique business hours, closed or opened days, closed or opened time slots, appointments.
The schedule can be managed by the administrator or by WordPress user with access to the service of this schedule (more information about access management can be found on Service management section of this documentation).
Webba Booking plugin provides the following functions to work with schedule:- View days and time slots in special calendar format developed with a to be displayed on any device.
- Close any default date (make it unavailable for booking).
- Open any default date (make it available for booking).
- Close any default time slot (make it unavailable for booking).
- Open any default time slot (make it available for booking).
- View appointments (short and detailed view).
- Delete appointments.
- Add appointments manually.
Appointments
Appointment key concept is a part of the schedule. It holds information about :
- Customer name.
- Customer phone.
- Customer E-mail.
- Booked items count.
- Date and time of appointment.
- Comment.
-
APPOINTMENT BOOKING PROCESS FOR CUSTOMERS
APPOINTMENT BOOKING PROCESS FOR CUSTOMERS
WEBBA Booking has two modes (Basic and Extended) for a simple or detailed booking process.
Extended mode
Booking process consists of the next steps :
Step 1. Select service :
Step 2. Select date to start search with :
Step 3. Select suitable hours, search and select time :
Step 4. Fill in a form with. (Fields can be customized)
Basic mode
Booking process consists of the next steps :
Step 1. Select service :
Step 2. Select date and time :
Step 3. Fill in a form. (Fields can be customized)
Step 4. Click Submit button.
Note for both modes:
The booked slot disappeared on successful booking. If many items are available for the reservation, the booked slot will stay, but the count will be reduced.
PayPal
If you have activated the PayPal payment in your Service, in both modes (Basic or Extended), then will be displayed the following steps:
Your customer is invited to pay online with Paypal. Once the Pay now with Paypal button is clicked, the payment details are displayed:
The last button I confirm my transaction with PayPal will then redirect your client to Paypal to finalize the payment.
Stripe
If you have activated the Stripe payment in your Service, in both modes (Basic or Extended), then will be displayed the following steps:
The customer is invited to pay with his credit card. As soon as he clicks on the button, the details of the payment will appear.
After correctly filling in the card data and approving the payment, the payment confirmation message will be displayed.
Mutiple time slots selection
To work with the Mutiple time slots selection you need to go to the Settings page:
Then go to the Mode tab (step 1) and activate it (step 2)
Then click save.
Your customers will then be able to make several reservations in one session. From the first reserved slot, a checkout bar appears. The user will then click there to finalize his
multiple time slot selection in only one booking session. Like on the pic below.
Multiple services selection
In order to use multiple services selection, you need to enable Multiple bookings in one session on Settings page, Mode tab and use [webba_multi_service_booking] as shortcode where you want to diplay your booking form.
Your customers will be prompted to select services like in the pic below:
-
GETTING STARTED
GETTING STARTED
WEBBA Booking settings page consists of the following section :
– General
– Holidays
– Email notifications
– Mode
– Translation
– Appointments
– Paypal
– Backend interface
– Activation
To setup settings :
Go to the Settings page of the plugin by clicking on Settings.
General
Step 1. Open General tab.
Step 2. Set the Week starts on. Possible values are Sunday, Monday, WordPress default). When choosing WordPress default, the setup from the general settings of WordPress on the General Settings page will be applied.
Step 3. Enter the Date format. This parameter affects the display of the date on the pages of the plugin (in the admin part and on the pages of your site). If not specified, it’ll be set to a value which is set in the General Settings page of WordPress on the General Settings page. For more details on the date format, see here.
Step 4. Enter the Time format. This setting affects the display of time on the pages of the plugin (in the admin part and on the pages of your site). If not specified, it will be set to a value which is set in the general settings page of WordPress on the General Settings page. For more details on the date format, see here.
Step 5. Set the Timezone. In this setting, you specify the time zone. If your city is not listed, you can select the one nearby with the same time zone as yours.
Note (!) that this setting is recommended for setup before starting and should not be changed during the work process.Step 6. Set the Phone number mask input. Choose a plugin to be used as a masked input control or leave it disabled if you don't need to use mask input in the phone field of booking form
Step 7. Enter the Phone format. a – Represents an alpha character (A-Z,a-z), 9 – Represents a numeric character (0-9), * – Represents an alphanumeric character (A-Z,a-z,0-9)
Step 8. Set the Phone field is required in the booking form. If set to yes, the customer will be prompted to fill this field if it is empty at the form validation.
Note: If you don't need to get the phone numbers, you can delete this field by creating a CF7 (contact form 7) form with your just needed fields.Step 9. Set the Show booked time slots to enabled if you want to display booked time slots. That time slot would be unavailable for booking. You can also edit text on Book button and insert placeholders for a name if a person who has booked an appointment and time. For example. 'Booked by #username'. To edit text, go to the translation tab and edit the Booked time slot text parameter.
Step 10. Hide form on booking enabled will hide all the steps of the form once this last is submitted.
Step 11. Check shortcode on booking form initialization. Enable this option to optimize the loading of the booking form. Important: enabling this option may conflict with some of the WordPress editors.
Step 12. Show cancel button. Enable this option to show cancel button on the steps of the booking process. To set the text of the Cancel button, please, edit the Booking cancel button text option on the Translation tab of the Settings page.
Step 13. Disable booked dates in calendar. This will make unavailable all the days that are fully booked in the popup calendar where people select a date for their appointment
Step 14. Set the Time slot time string. This parameter determines the format of time displayed in the time slot block. For ex. if the value is Start, the time will be displayed as 10 PM, if the value is Start - end, the time will be displayed as 10 PM - 11 PM.
Step 15. Set the Time slot format. If you want to display time, availability and Book button set the Show details and BOOK button value, if you want to display only time, set the Show time button only value.
Step 16. Show local time in time slots Enable this option if you need to show customers their local time. Please note, if you enable this option, local time will be added to to current website time, not instead of it. Enabled (show only local time) will only display the local time of your customer.
Step 17. CSV export delimiter. Setup the delimiter to be used in csv-export. default setting, compatitble with the most of csv editors, such as OpenOffice or Microsoft Office is comma. At the same time, if there is comma in your date formats, the csv output will be broken. For this reason, you need to setup semicolon as a delimiter.
Step 18. jQuery no-conflict mode. Enable this option to use jQuery in no-conflict mode in frontend. Important: enabling this option may cause a conflict with other plugins. please check your website functionalities after enabling this option.
Step 19. Load pickadate javascript. Set "no" if there are plugins in your WordPress that using the pickadate date picker.
Step 20. Allow cancel or approve by link. Set "yes" to allow administrator to cancel or approve appointment with the link sent in notification.
Step 21. Tax used for #total_amount placeholder. Choose here if you want to include a tax and for what mode of payment, Stripe or Paypal.
Step 22. Coupons Activate the coupon option here if you want to use it. It will then be created on the Coupons page and assigned to the services concerned.
Step 23. The number of digits in the fractional part of the price. Self-explanatory.
Step 24. Scroll container . This option handle jQuery selector for the scroll effect of the booking form. To use by developers only.
Holidays settings
Step 1. Holidays Open tab.
Step 2. Set the Holidays. To set Holidays you need to click on the Holidays field and select the dates in the dialog box. Note that this setting is common to all services created in a plugin, thus, in future, you may cancel any holiday at the level of service, or vice versa, make any day a holiday.
Email notifications and reminders settings
Step 1 Open Email notifications tab.
Step 2. Set Multiple booking notification mode (customer). Choose whether you prefer to send the customer a notification for each time slot or only one for all the selected timeslots (in case you have enabled Multiple bookings in one session in the Mode tab). As a matter of fact, it may be more convenient to group all and send just one notification in this case.
Step 3. Set Multiple booking notification mode (admin). Choose whether you prefer to send the admin a notification for each time slot or only one for all the selected timeslots (in case you have enabled Multiple bookings in one session in the Mode tab).
Step 4. Set the Send customer an email (on booking). Check the box if you want to send an email to a customer on booking.
Step 5. Set the Attach iCal file to the notification (customer). Self-explanatory. Notice: the time zone in the iCal file will be the same as in the Webba time zone setting.
Step 6. Enter the Subject of an email to a customer (on booking). You can compose a sentence with the available placeholders (#appointment_time, #appointment_day, #service_name).
If Multiple bookings in one session is enabled in Mode tab, specify the subject of the letter that will be sent to the customer (up to 100 characters). For example, ‘You have successfully booked an appointment’ (placeholders are not available in this case).Step 7. Enter the Message to a customer (on booking). Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count, and so on.
In the image below, you will find an illustration of the case Multiple bookings in one session with the placeholder Create loop (for customer's notifications only).
Think of including a <br /> in the loop for a better formatting.
Step 7. Set the Send customer an email (on approval). Check the box if you want to send an email to a when the status of an appointment changed from Awaiting approval or Paid (awaiting approval) to Approved or Paid (approved). The email is sent when an administrator of the service change the status of the appointment manually in the appointment table.
Step 8. Enter the Subject of an email to a customer (on approval). Specify the subject of the email that will be sent to the customer (up to 100 characters). For example, ‘Your booking has been approved.’ You can also include placeholders.
Step 9. Enter the Message to a customer (on approval). Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons : Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count, etc.
Step 10. Set the Send administrator an email (on cancellation). Check the box if you want to send an email to the administrator to notify him about the cancelation.
Step 11. Multiple booking cancellation notification mode (admin).
Choose whether you want to group cancellations or send an email for each cancellationStep 12. Enter the Subject of an email to administrator (on cancellation). Specify the subject of the letter that will be sent to the customer from the group (up to 100 characters). For example, ‘Appointment notification’. You can also use placeholders.
Step 13. Enter the Message to administrator (on cancellation). Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Group Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment,Items count.
Step 14. Set the Send customer an email (on cancellation). Check the box if you want to send an email to the customer to notify him about the cancelation.
Step 15. Multiple booking cancellation notification mode (admin).
Choose whether you want to group cancellations or send an email for each cancellationStep 16. Enter the Subject of an email to customer (on cancellation). Specify the subject of the letter that will be sent to the customer from the group (up to 100 characters). For example, ‘Appointment notification’. You can also use placeholders.
Step 17. Enter the Message to customer (on cancellation). Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Group Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment,Items count.
Step 18. Set the Send an email to other customers from the group (if provided). Check the box if you want to send an email to a customer from the group.
Step 19. Enter the Subject of an email to a customer from the group. Specify the subject of the letter that will be sent to the customer from the group (up to 100 characters). For example, ‘Appointment notification’. You can also use placeholders.
Step 20. Enter the Message to a customer from the group. Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Group Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment,Items count.
Step 21. Set the Send administrator an email (on booking). Check the box if you want to send an email to an administrator on booking.
Step 22. Enter the Attach iCal file to the notification (admin) .Self-explanatory. Notice: the time zone in iCal file will be the same as in the Webba timezone setting
Step 23. Enter the Subject of an email to an administrator (on booking) . Specify the subject of the letter that will be sent to the administrator (up to 100 characters). For example, New appointment booking.
Step 24. Enter the Message to an administrator (on booking). Use the text editor to write the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count.
Step 25. Set the Send administrator an email (on payment received) Check the box if you want to send an email to the adninistrator on payment received.
Step 26. Set the Subject of an email to an administrator (on payment received) You can compose a sentence with the available placeholders: #appointment_time, #appointment_day, #service_name
Step 27. Set the Message to an administrator (on payment received) Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count, and so on.
Step 28. Send customer an email (on payment received) Check the box if you want to send an email to the customer on payment received.
Step 29. Set theSubject of an email to a customer (on payment received) You can compose a sentence with the available placeholders: #appointment_time, #appointment_day, #service_name
Step 30. Set theMessage to a customer (on payment received) Use the text editor to edit the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count, and so on.
The steps below describes the reminders options. Reminders are daily notifications about the tomorrow’s appointments sent to an administrator of service and to a customer.Step 31. Check the Send administrator reminders if you’d like to send daily reminders to the administrator.
Step 32. Enter the Subject of administrator reminders. Specify the subject of the letter that will be sent to the administrator (up to 100 characters). For example, ‘Agenda’.
Step 33. Enter the Administrator reminders message. Use the text editor to write the email message. To insert the agenda use the button Agenda for tomorrow.
Step 34. Check the Send customer reminders if you’d like to send daily reminders to the customer.
Step 35. Check the Set the date of sending for customer's reminders Choose between the following options :;1 - tomorrow, 2 - day after tomorrow, 7 - one week before
Step 36. Enter the Subject customer reminders. Specify the subject of the letter that will be sent to a customer (up to 100 characters). For example, ‘Appointment reminder’.
Step 37. Enter the Customer reminders message. Use the text editor to write the email message. To insert a placeholder directly related to the client or service data, use the special buttons :
Service Name, Customer Name, Booking date, Booking time, Customer phone, Customer email, Customer comment, Items count.
Step 38. Set the Time of a daily reminder
IMPORTANT!
To send reminders exactly in time, specified in the Time of a daily reminder you need to setup hourly cron in your hosting with the command like /usr/bin/wget -O – -q -t 1 [PATH TO YOUR WORDPRESS WEBSITE]/wp-cron.php?doing_wp_cron
A command may be different on different hosting platforms. If you need help with cron setup, please contact us: support@webba-booking.com.Step 39 Choose whether you want to send an invoice or not, and if so, on booking,approval. or on payment complete.
Step 40. Enter the Invoice email subject. Specify the subject of the invoice that will be sent to the customer. For example, ‘Invoice for your booking’. You can also use placeholders.
Step 41. Current invoice number.
Set the initial number of invoice. Placeholder for notifications: #invoice_number Each time a customer pay with PayPal or Stripe, the value of this option will be increased by one.
Step 42. Send copies of invoices to administrator
Step 43. Enter the From : name
Step 44. Enter the From : email
Step 45. Send copies of service emails to. This option is like a super-admin email, on each booking, a notification will be sent to the declared email.
Step 46. Set the Link to the page with Webba Booking form. This page will be used as a landing for payment or cancellation. If you use multiple pages with different booking forms, simply create a dedicated page for that purpose. (Mandatory only if you use the payment or cancellation options).
Since version 3.03, Webba Booking allows you created unlimited Email templates and assigned them to selected services. More information about here.
Since version 3.1.7, you can now use custom fields as placeholders in your email templates and in setting> Email notifications. The principle is simple, you take the id of your custom field (eg id: custom-field1) and paste it to #field_.
# Field_custom-field1 will be identified as any other placeholder available in your editor.
Mode settings
Step 1. Open Mode tab.
Step 2. Set the Mode : Extended or Basic. In the extended mode the client sets the maximum number of settings related to the suitable booking time, and as a result gets several dates to choose from and different time options for each day. In the basic mode, the user selects a particular date and gets to select the time that is available for this day.
Step 3. Multiple bookings in one session. Enable this option if you want to allow customers to chose several timeslots in one session.
You can choose between two ways of presenting the checkout, with a button in the top bar or directly on the time slot. Enabled (top bar checkout button) or Enabled (time slot checkout button)Step 4. Set the Maximum amount of bookings in one session.
The amount of time slots allowed to your customers to reserve at a time
.If you leave empty, you authorize an unlimited number. If you set a quantity, it will apply to all services. If you want different quantities depending on the services, leave there empty and set in each of them.Step 5. Enable Skip time slot selection
If your service schedule includes ONLY ONE time slot available per day.Step 6. Set Mode of multiple places selection (3 possibilities)
Case 1, you let the user define how many, till the maximum amount of bookings in one session.
Case 2, you allow to select only one place.
Case3, you allow to select only the maximum of places.Step 7. Set the Time hole optimization
Enable it in the case you are using the auto lock, services with different duration and step less than duration. Enabling this option allows removing possible holes in the schedule.Step 8. Show service description
Enable this option if you want to show the service description under the selected service field.
Step 9. Date input Select the way you want to display the datepicker in your form, through a popup or as a drop-down menu.
Step 10. Count of dates in the dropdown
Set the number of dates you want to display in the dropdown.Step 11. Show locked time slots as booked . Enable it if you wish to display the booked the time slots marked as booked.
Step 12. Allow using attachments Enable or disable attachements.
Step 13. Attachments file types
Example: file_extension. A file extension starting with the STOP character, e.g: .gif, .jpg, .png, .docExample: audio/* all sound files are accepted.Example: video/* all video files are accepted.Example: image/* all image files are accepted.Example: media_type. A valid media type.Step 14. Allow using the service id in url This option handle using service id in url. If this last is enabled, you can add service id to the url of booking page. for example example.com/booking?service=1 will show booking form for service 1 (works same as service in shortcode).

Step 15. Use this option to show the night hours time slots on a previous day. For example, if we set 2 in this option, the time's slots before 2 AM will be shown on the previous day.

Step 16. Limit date range for multi-service mode
The number of days from today that available for booking. IMPORTANT: this option is for multi-service booking only
Step 17. EU GDPR Compliance. Enable this option to clean up database after after the appointment time has passed

Step 18. Allow book ongoing time slot. Allow booking even if the time slot is already started.

Step 19. Default number of days shown in extended mode.
To determine the number of days to display in multiple mode in the form. By default, it's three. You can opt according to the limits indicated in the Service. Low limit for multiple mode and Limit for multiple mode.
Translation settings
Step 1. Open Translation tab.
Step 2. Enter message translation for different areas of front-end.

Since version 3.1.8, many placeholders (shown in italics below the fields) are available and can be used directly in your translations.
Thanks to this improvement, you can really personalize your Booking done message, the one that appears after the form is sent.
Appointments
Step 1. Open Appointments tab.
Step 2. Set the Auto lock appointments.
Enable this option to switch on the connection between the services. This automatically locks the time slots of all the services on booking.
For example, few service providers use one equipment, in this case, it will be logical to make the service unavailable for booking on certain time if one of the services was booked at this time.
Auto lock is independent of duration or business hours because the algorithm analyzes the intersections between time slots.Step 3. Set Perform autolock on. This option defines the scope for the auto lock. To use service in the same categories you need to define categories.
Step 4. Set Autolock for group booking services. This option manages how the auto lock works on servicers with more than one places per time slot. If you chose lock time slot the entire time slot will be locked. If you chose reduce the count of available places the count of available places in connected services will be reduced by the count of current booking count of places.
Step 5. Set Default appointment status. This option defines the default status of the new appointments booked at front-end.
Step 6. Set Allow payments only for approved appointments. Enable this option if you want to allow online payments only for approved appointments.
Important: if you enabled this option, please, pay attention to set up email notification on approval and insert the payment link into the email message. Do not enable this option if the Default appointment status is "Approved".Step 7. Set Delete expired (not paid) appointments. Use this option to automatically delete not paid appointments after the expiration time. The expiration time can be assigned from the booking moment or from the moment of approving, there are two options to define it.
Step 8. Set Delete expired appointments with started but not finished transaction. Enable this option if you want to auto-delete appointments with started (but not finished) transactions.
IMPORTANT: if you choose Delete appointments with started transaction, expired appointments will be deleted even if a customer started (and not finished) the payment (initialized transaction).Step 9. Set the Expiration time (in minutes) of appointments. The minimum value is 10.
Step 10. Set the Cancellation buffer (in days). To make cancellations impossible from a certain time before the appointment / reservation.

Step 11. Set Allow cancellation of paid appointments: Enable this option if you want to allow CUSTOMERS to cancel paid appointments.

Step 12. Allow only one appointment per slot from email.
Do not allow more than one booking per time slot for given customer’s email. To use for services with more than one seat per time slot to avoid double-booking.
Step 13. Allow only one appointment per service from email
If set to enabled, only one appointment can be done per service for a given customers email.
Step 14. Delete pending appointments
Set a given time to automatically eliminate pending appointments.
Step 15. Limit per time. Maximum number of available bookings at given time. Leave empty to not set this limit

Step 16. Lock time slot if at least one place is booked.
Used for services with several places per time slot. Example: A service has 5 places per slot. If someone books 2 places and the service set to use this locking rule, the left 3 places would be unavailable. In this option, we set services that use the rule or leave empty.
Paypal settings
Step 1. Open PayPal tab.
Step 2. Set the PayPal mode (Sandbox or Live). We highly recommend you to test payments with the Sandbox before going live.
Step 3. Set sandbox and live credentials. For more information, follow the PayPal Setup section of this documentation.
Step 4. Set the PayPal currency.Step 5. Set the tax. This is a percentage of a subtotal amount (price of the booked service).
Step 6. Set Hide address to enabled if you want to show it at checkout.

Step 7. Set Redirect to page when payment is successful if you wish to deliver the successful payment message on a different page.
Google calendar
Step 1. Open Google calendar tab.
Step 2. Fill the fields with out Google Client ID and Secret.

Step 3. Refresh cache after

Step 4. "Created by" property for the events

Step 5. Customer's time zone
Choose which Time Zone to use for Google calendar, Webba's or customer's one.
Step 6. When add events in admin calendar. Choose when to add events in administrator's Google Calendar

Step 7. Synchronization of group services:
This option defines how the backward synchronization works with service with multiple places per time slot - lock whole time slot or reduce the number of available places.
Backend interface
Step 2. Set the Customer name in the backend.
Use this option if you need show custom fields near customer name in the appointments table and in the schedules.
Example: #name #field_lastname
The example above show how to show customer's name and last name. The last name is stored in the custom field with id "lastname" in this example.
Note, it's necessary to include #name placeholder into the value of this option.Step 1. Open Backend interface tab.
Step 2. Set the Customer name in the backend.
Use this option if you need show custom fields near customer name in the appointments table and in the schedules.
Example: #name #field_lastname
The example above shows how to show customer's name and last name. The last name is stored in the custom field with id "lastname" in this example.
Note, it's necessary to include #name placeholder into the value of this option.Step 3. Set the Date format (backend).
Date format used for backend.Step 4. Set the Format of timeslots in the Schedule page). Choose what do you prefer to display: only the start time or the start and end time of the booking.

Activation settings
Step 1. Open Activation tab.
Step 2. Enter the Purchase code. Copy the code that you received while purchasing the plugin into this field.

Step 3. Click Save changes button.
What’s left to do?
When setup is done, you need to create at least one Service. Explanation of Service is given in Key concepts section of this doc. To get information about how to manage services, see Services management section. Also, you need to add booking form to the page (post) of your website (see Adding booking form section ). -
APPEARANCE CUSTOMIZATION
APPEARANCE CUSTOMIZATION
To work with the appearance you need to go to the Appearance page :
Webba Booking allows you to customize your booking form completely. You choose from the 80 available presets that you can use as it is or change to the design of your website.
Step 1. Choose a preset from the drop-down list on the top left and click load presets for loading it.
Step 2. Click on Show preview on the top right to get an idea of the design from the last loaded preset from the previous step.
Actually, the pop-up will display the design of the booking form :
Let’s say you are satisfied with one preset you selected in the list, then the appearance setup is done for you. Click the Save options button and the design will be automatically applied to the front end.
Unfortunately, you do not find what you want or maybe, you wish to quickly apply your graphics?Step 3. Browse all tabs and apply your CSS parameters to arrange the form to your design (Click Show preview button to see your changes).
Step 4. Once you arrive at a satisfactory result, just click Save options button and you’re done with your Appearance setup.
-
SERVICES MANAGEMENT
SERVICES MANAGEMENT
To work with the Services go to the Services page of the plugin :
Adding a Service
To add a new Service you need to do the following steps :
Step 1. Click the Add service button under the services table :
Step 2. Enter the Name of the service.
Step 3. Enter the Description of the service.
Step 4. Enter the Email of the service. This last will be used for sending notifications about bookings of the appointments.
Step 5. Enter the Maximum booking count per time slot. If you set 1, the plugin works in an individual booking mode, if you set more than 1 (2 – 1000000), the plugin works in the group booking mode. Group booking is suitable if your service offers several places at one time.Important : we recommend to set this parameter on service creation and not after the users have booked the appointments.
Step 6. Enter the Minimum booking count per time slot.This option sets the minimum number of group reservations.
Step 7. Priority. This option allows you to order the services in the booking form.
Step 8. Enter the Duration. This is the duration of the appointment in minutes. By default, it is set for 30 minutes. Only numbers should be entered in this field.Note: if you change the Duration parameter after the users have booked the appointment, the duration of the appointments for these bookings will be the same.
Step 9. Enter the Gap. This is the gap between appointments. By default, it is zero. Only numbers should be entered in this field.
Step 10. Enter the Step. This is the number of minutes that is used to stake your workday into intervals. Step parameter is important while setting your schedule in the backend and while displaying your free time in the frontend. By default, this parameter is equal to the sum of Duration and Gap, and cannot be larger than the sum of these two parameters.Note: We recommend to edit this setting for the services with a large Duration (2 hours or more) in order to provide the user more options while choosing the time. Note: this parameter is available only if you set 1 value for the Maximum booking count per time slot parameter.
Step 11. Set the Available to users. The users who will have access to the service schedule should be entered here. Please note that users with a role of a Subscriber cannot get access to the services. For more information about managing WordPress users, see here.
Step 12. Set Select form. If want to use the CF7 form with the custom fields as Webba Booking form, select it from the list, in other case set the default value. For more information about the custom fields, click here.
Step 13. Set the price parameter (just amount without currency). Leave zero if you don't use online payments.
Step 14. Select the payment method you want to be available for the service.
Step 15and 16. Select the email templates. If you leave them set as default, settings from Email notifications will be used.
Step 17. Select the Email template you wish to use for invoicing.
Step 18.. Preparation time (days). 0 means no preparation time, 1 means today, 2 means today and tomorrow, and so on...This option make thoses days unavailable to choose as date of booking.
Step 19. Set the Availability date range
If the service is valid for a defined period of time. Leave empty to set unlimited.
Note: If the start date is the same as the end date, the selection date step will no longer be available when the client makes an appointment.Step 20. Set the Google calendar
Select the one you wish to use. More information on how to prepare and synchronize a service with a google calendar in the dedicated chapter.Step 21. Set the Low limit for multiple mode.
If in multiple booking mode we need to setup minimal required time slots to be selected. For example, if we set 3, the checkout button is not enabled until we don’t select at least 3 time slots.Step 22. Set the Limit for multiple mode
This is the maximum number of time slots a customer can select in a reservation session.Step 23. Set the Business hours. You need to check the boxes for those days that are working ones for the service. Setting the time is also necessary. If there is a break in the work of the service, you specify two gaps, such as from 9am to 1pm and from 2pm to 6pm. If the break is not used, you specify a gap (the first) and delete the second gap by clicking the ‘delete the second gap’ link. After the removal of the gap, if necessary, it can be returned by clicking on add a second gap.
Step 24. Click Save button.
The service will be added and displayed in the table of services
Editing the Service
To edit the Service you need to do the following steps :
Step 1. Check the box of the service in the table.
Step 2. Click Edit Service button.
Step 3. Edit this Service settings. For more information about the Service Settings see previous part of this chapter.
Step 4. Click Save button.
Deleting the Service
To delete the service, you need to do the following things :
Step 1. Check one or more services in the table.
Step 2. Click Delete button.
Step 3. Confirm the deletion in the appearing dialog box.
Note: the data on all bookings that were made in the framework of this service is deleted along with the service.
Service categories
Since version 3.1.1 you can group your services into categories. With categories you can setup the shortcode to display only services from those or another category on front-end. This feature also can be used to limit the scope of autolock.
To work with the categories, you need to go to the Service categories page :
Create a category
Click new to create a new categorie.
Step 1. Give it a name that is self-explanatory to remember its function and use.
Step 2. Select the services you want to include in this last.
Step 3. Click save
Edit a Category
Step 1. Click on the edit icon
Step 2. Update the content and/or the name as needed.
Step 3. Click Save.
Delete a Category
Step 1. Click on the delete icon.
Step 2.> Click on Delete button to confirm your operation.
-
Email templates
Email templates
When you create a Service, email notifications and reminders templates used are the default ones that you find in General > Email notifications tab. Perhaps for reasons specific to your business, you have templates needs related to Services, to personalize your communication at best. In this section, you can create as many templates as you want.
Then simply assign them when you create or edit your Services (Services page) like below :
To work with the Email templates, you need to go to the Email template page :
Create an Email template
Click new to create a new template.
Step 1. Give it a name that is self-explanatory to remember its function and use.
Step 2, Write content specific to the use of a Service.
Step 3. Remember to also use the template variables as needed.

Then click Save.Edit an Email template
Step 1. Click on the edit icon:
Step 2. Update the content and/or the name as needed.
Step 3. Click Save.
Delete an Email template
Step 1. Click on the delete icon.
Step 2. Click on Delete button to confirm your operation.
-
WORKING WITH THE APPOINTMENTS
WORKING WITH THE APPOINTMENTS
Understanding the appointment booking status
There are five status available for booking in our plugin:
1. Awaiting approval. Means booking is not paid and not approved by service administrator.
2. Approved. Means booking is approved by administrator but not paid.
3. Paid (awaiting approval). Means the booking is paid, but not approved by service administrator.
4. Paid (approved). Means the booking is paid and approved by administrator.
5. Arrived - The customer has arrived. This status can be set by the service administrator.
The default status, assigned to new appointment booked at front end can be Awaiting approval or Approved. For more information about default status, please, take a look Getting Started > AppointmentsTo work with the appointments you need to go to the Appointments page:
Set the filters (date range and services) to display appointments:
You can also select all services or services from a category.
Appointments will be presented in the table:
To sort the rows click on the column title.
To view canceled appointments, click on the following link to shows them in their separate table.
Add an appointment
Step 1. Click on Create new
Step 2. Complete the form and click save
Edit an appointment
Step 1. Click on the icon to open the item
Step 2. Change the data you want and click save.
Delete an appointment
Click on the icon, then confirm your deletion by clicking on he blue Delete button.
-
Working with the schedules
Working with the schedules
To work with the schedules you need to go to the Schedule page :
Note that the Schedule page is available to all users with the administrator rights and also to those users who gained access to at least one service while editing the service’s properties (see services management).
Loading a schedule
To load a schedule you need to click on the button with the name of the service for which the schedule needs to be displayed :
As a result, a schedule for the current week will be displayed. To view the schedule for the following week you need to click the Show next week button at the bottom of the schedule.
Close the day
Makes a day unavailable for booking. To perform this operation you need to click on the Close under the title with the date.
Note that if the day that you close already has a booked appointment, it’ll remain active.
Open the day
Lets a date be available for booking. Is used in the case when you need to make a holiday a working day or in the case when the date which was previously closed for booking by using the Close the day function, needs to be open for booking again. To perform this operation you need to click on the Open under the title with the date :
Close the time
Lets you close a certain time on a certain date for booking. Click the icon with unlocked padlock on time slot you want to close to perform this operation :
Open the time
Lets you open the time which was previously closed for booking with the help of the function Close the time. Click the icon with locked padlock to perform this operation :
Adding an appointment
This function allows the administrator to add an appointment manually. Can be used in the case when the customer didn’t book an appointment on the website but booked an appointment through other means, for example, by phone.
To add an appointment you need to do the following steps :
Step 1. Click the icon with + symbol on the time slot :
Add appointment dialog will be displayed.
Step 2. Enter the Name of the customer.
Step 3. Enter the Email of the customer.
Step 4. Enter the Phone of the customer.
Step 5. Enter the items count
(available if the service max. items per time slot parameter is more than 1).Step 6. Enter the Custom data (optional)
Step 7. Enter the Comment (optional)
Step 8. Click Add button.
View the details of the appointment
If the time is booked, the client’s name will be displayed to the right of the time. To see the details of your booking, you need to click on the name :
In the dialog box you will see the details of the booking :
Deleting the appointment
To delete the appointment you need do the following steps :
Step 1. Click on the name :
Step 2. Click Delete appointment button :
Schedule tools
– Date auto lock / unlock
Date auto Lock and Date auto Unlock are tools that allow you to lock or unlock any date range in one go and to exclude chosen dates from inside this range.In the Date auto Lock example below, we have selected the test service schedule, locked the dates from 01/11/2016 to 11/30/2016 and excluded the Wednesday of the month. (11/02 / 2016.11 / 09 / 2016.11 / 16 / 2016.11 / 23 / 2016.11 / 30/2016)
To validate this selection with exclusions and effectively implement them in the selected schedule, click on Start
– Time slot auto lock / unlock
Time slot auto lock and Time slot auto unlock are tools that allow you to lock or unlock any ranges of time slots in a given range of dates.
To perform auto lock / unlock you need to:
Step 1. Click the button Time slot auto lock
Step 2. Select a service or a category
Step 3. Set the range of dates.
Step 4. Set the range of time slots.
Step 5. Click the Start button.
SHORTCODESSHORTCODES
Adding booking form shortcode
To add a booking form to a page or post, you need to do the following steps
Step 1. Open page (post) for edit.
Step 2. Check if current editing mode is Visual.
Step 3. Click Webba Booking form button.
Step 4. In the dialog box select the service for which you would like to display a form, or choose the All services option. In the later case, the choice of the service will be done by the customer on booking.
Also you can set a category: in this case there will be only services from the category you've set in the booking form. Or choose the All categories option. In this case, the choice of the category will be done by the customer on booking.Step 5. Click Add button.
Step 6. Update page (post).
Adding Email landing shortcode
This shortcode is used for payments and cancellations, to display these processes on a dedicated landing of which you will specify the url in the Link to the page with Webba Booking form field of Settings> Email notifications
To add an email landing shortcode to a page or post, you need to do the following steps
Step 1. Open page (post) for edit.
Step 2. Check if current editing mode is Visual.
Step 3. Click Webba Booking Email landing button.
Step 6. Update page (post).
Here some examples of manual shortcode usage:
[webba_booking] - The regular shortcode that allows visitors to select Service.[webba_booking service="x"] - Shortcode for the service with id = x (in this case, selection of service will beomitted and the user will book the service x)[webba_booking category="x"] - Here, the shortcode shows only services related to the category with id = x[webba_multi_service_booking] - Here, the shortcode to use in case of multi service usage.[webba_email_landing] - To use if you need a dedicated page on your website for the links sent by email (links for payment or sending events to a customer's Google Calendars).
Display list of categories
If you group your services into categories, you can then display the list of categories with the following shortcode: [webba_booking category_list="1"]
Your customer will be prompted to select the category first and then select a service.
WORKING WITH CUSTOM FIELDSWORKING WITH CUSTOM FIELDS
Since version 1.2 Webba Booking is integrated with Contact Form 7. You can create forms with an unlimited amount of custom fields in the CF7 form editor and use created forms as Webba Booking form. To create a form with custom fields, please do the next steps :
Step 1. Create a new form in the CF7 form editor (CF7 documentation is available at http://contactform7.com/docs/). The current version of Webba Booking plugin supports the following CF7 input fields :
CF7 Field type Webba Booking class Validation text wbk-text Required / not required checkbox wbk-checkbox-custom Required / not required select wbk-select Required / not required textarea wbk-textarea Required / not required file wbk-file Required / not required For the correct work you need to include 4 basic fields : Name, Email, Phone, Comment. Below is the example of basic contact form that will work with Webba Booking :
<p><label for="wbk-name">Your First Name (required)</label>[text* wbk-name class:wbk-text id:wbk-name]</p> <p><label for="wbk-email">Your Email (required)</label>[text* wbk-email class:wbk-text id:wbk-email]</p> <p><label for="wbk-phone">Your phone (required)</label>[text* wbk-phone class:wbk-text id:wbk-phone]</p> <p><label for="wbk-comment">Your comment</label>[textarea wbk-comment class:wbk-textarea id:wbk-comment]</p>
It’s important the next names for the fields : wbk-name, wbk-email, wbk-phone, wbk-comment.
Now let’s add a custom field with the “text” type. The code of this custom field type is :
<p><label for="custom-field1">Custom field 1</label>[text* custom-field1 class:wbk-text id:custom-field1] </p>
You can add this code to your custom from directly or use CF7 form editor buttons to insert the fields. Adding class is necessary, if you don’t specify the class, Webba Booking wouldn’t process this field.
To add the select box to the form, insert the next code :
<p><label for="custom-field2">Custom field 2</label>[select custom-field2 id:custom-field2 class:wbk-select "option 1" "option 2" "option 3"]</p>
For the second custom field, we used class wbk-select.
As the third custom field, let’s add the checkbox field :
<p><label for="custom-field3">Custom field 3</label>[checkbox custom-field3 class:wbk-checkbox-custom id:custom-field3 "option1" "option2" ]</p>
The final code of our booking form is :
<p><label for="wbk-name">Your First Name (required)</label>[text* wbk-name class:wbk-text id:wbk-name]</p> <p><label for="wbk-email">Your Email (required)</label>[text* wbk-email class:wbk-text id:wbk-email]</p> <p><label for="wbk-phone">Your phone (required)</label>[text* wbk-phone class:wbk-text id:wbk-phone]</p> <p><label for="wbk-comment">Your comment</label>[textarea wbk-comment class:wbk-textarea id:wbk-comment]</p> <p><label for="custom-field1">Custom field 1</label>[text* custom-field1 class:wbk-text id:custom-field1]</p> <p><label for="custom-field2">Custom field 2</label>[select custom-field2 id:custom-field2 class:wbk-select "option 1" "option 2" "option 3"]</p> <p><label for="custom-field3">Custom field 3</label>[checkbox custom-field3 class:wbk-checkbox-custom id:custom-field3 "option1" "option2" ]</p>
All examples above uses labels, it’s important to use correctly “for” argument for the custom fields, because label texts are used as a data description for the custom fields.
If you need to add acceptance field add the following code :
<p>[acceptance wbk-acceptance]Check the acceptance field <span class="wbk-acceptance-error" style="display:none;" >acceptance not checked</span></p>
Step 2.
Go to the Services page
Open the service for edit or create new service and select the form :
Attachment in custom forms
In order to work with attachcement, you need to set the two following options you will found in Mode tab of Settings page.
Allow using attachments (enable or disable attachements).
Attachments file types (set the file type of file input control).
Example: file_extension. A file extension starting with the STOP character, e.g: .gif, .jpg, .png, .docExample: audio/* all sound files are accepted.Example: video/* all video files are accepted.Example: image/* all image files are accepted.Example: media_type. A valid media type.Example of file field in the custom form:
<p><label for="wbk-file">Your attachment</label>[file wbk-file-1 class:wbk-file id:wbk-file-1]</p>
Important: class:wbk-file is required, id is required.
Once the attachments are enabled, files, uploaded by customers will be attached to the notification sent to the administrator.
Service parameter in url
Settings page > Mode tab - Allow using the service id in url
This option handle using service id in url. If this last enabled, you can add service id to the url of booking page. for example example.com/booking?service=1 will show booking form for service 1 (works same as service in shortcode).
Customer group fields
Since version 2.2.0, Webba Booking supports sending emails not only to the administrator or to the customer who is booking, but also to other people provided in custom fields. The feature can be useful if an appointment is for two or more people. To send email notification to another person you need to add two custom fields for name and email and mark them as used for sending notification by setting the id of fields to :
wbk-secondary-name_x, wbk-secondary-email_x, where x is any digit unique to this customer fields.The code below demonstrates the use of custom fields for providing name / email for two additional customers and one main customer who is booking :
<p><label for="wbk-name">Your First Name (required)</label>[text* wbk-name class:wbk-text id:wbk-name]</p> <p><label for="wbk-email">Your Email (required)</label>[text* wbk-email class:wbk-text id:wbk-email]</p> <p><label for="wbk-phone">Your phone (required)</label>[text* wbk-phone class:wbk-text id:wbk-phone]</p> <p><label for="wbk-secondary-name_1">Partner name</label>[text* custom-field1 class:wbk-notify-name_1 class:wbk-text id:wbk-secondary-name_1]</p> <p><label for="wbk-secondary-email_1">Partner email</label>[text* custom-field2 class:wbk-notify-email_1 class:wbk-email-custom id:wbk-secondary-email_1]</p> <p><label for="wbk-secondary-name_2">Partner name 2</label>[text* custom-field3 class:wbk-notify-name_1 class:wbk-text id:wbk-secondary-name_2]</p> <p><label for="wbk-secondary-email_2">Partner email 2</label>[text* custom-field4 class:wbk-notify-email_1 class:wbk-email-custom id:wbk-secondary-email_2]</p>
Contact Form 7 Dynamic Text Extension
Since version 3.0.4 Webba Booking supports Contact Form 7 Dynamic Text Extension.
For example, to use dynamic fields in your forms, please, use the shortcode:
“CF7_POST key=’customer_name'”
After that, if you set the parameter to your URL of booking form like
your_booking_page.html?customer_name=Eric
customer name field will be auto-filled.
The Paypal SetupThe Paypal Setup
To accept online payments with Paypal, you need a PayPal Business account and the API credentials.
To setup your PayPal, please, do the following steps :
Step 1. Login to developer.paypal.com and click the dashboard button :
Step 2. Click the My Apps & Credentials :
Step 3. Scroll to REST API apps and click the Create App button
Step 4. Enter the App Name (for ex. Webba Booking App) and click the Create App button :
Step 5. There are two sections for settings – Sandbox and Live. There is no difference in setup, but keep in mind that Live won't run if your website is running on localhost. To switch between Live and Sandbox click the button :
We highly recommend you to test payments with the Sandbox before going live.
Step 6. Leave the settings as they are and grab the ClientID and Secret for Sandbox and Live. Then add them to your Webba Booking Settings in Paypal tab and voila!
The Stripe SetupThe Stripe Setup
To accept online payments with Stripe, you need a Stripe account and the API credentials.
To setup your Stripe, please, do the following steps :
Step 1. Login to your Stripe dashboard account.
Step 2. Click on API in the menu on left.
Step 3. Copy/paste on a bloc note your Publishable key.
Step 4. Copy/paste also on a bloc note your Secret key.
Step 5. Go to your Wordpress dashboard. In Settings page, click on Stripe tab and paste there your credentials you just saved on your bloc note.
Step 6. Setup your Currency.
Step7. Load Stripe javascript
Stripe requires a javascript loaded from their host.If in WordPress there is some else plugin that uses stripe, this option needs to be set to No (do not load) to avoid conflicts.Step 8. Override Stripe card element error messages
Stripe card input has its own error handling with own messages If you need to override it, set to Yes. The default value is No (do not override).Step 9. Tax If needed, put the percentage you wish to apply.
Step 10. Click Save Changes and you are ready to work in test mode!
In order to switch to live mode, of course, you need to activate your Stripe account. For this, we invite you to read their documentation for more information.
The Woocommerce SetupThe Woocommerce Setup
Step 1. Create a new product with the Simple type and enable Sold individually option. It is not required to set the price because it will be calculated automatically. The name of the product can be whatever you need, for example, Booking.
Put any price for the product here. It's just the need to put one by default to continue the installation. The final price will be calculated according to the one you have entered in the Service.
And set the Catalog visibility to hidden.
Step 2. Open the WooCommerce tab of Webba Settings page and set the id of product we created in the first step:
Step 3. Open the Service settings (Services > Edit service) and add WooCommerce as payment method:
That's all!
CouponsCoupons
In this section, you can create as many coupons as you want and assign them to servicesLet's create one!
Step 1. Click on Create new
Step 2. Give a name to your coupon.
Step 3. Set the Usage limit Define here the number of payments for which your coupon will be applicable. If you leave the field empty, the number of payments will be unlimited.
Step 4. Define the time period for which your coupon will be valid.
Step 5. Choose the service or services for which your coupon may apply.
Step 6. Set the reduction percentage you want to apply or a fixed amount.
Step 7. Click save.
Then, to activate the coupon system in Webba Booking, go to the Settings page on General tab (bottom page) and set Coupons to Enabled.
PlaceholdersPlaceholders
Message placeholders

Service name
#service_name
The name of the service you want to display.
Category name
#current_category_nameRepresents the category selected by a customer
Category names
#category_names
The name of the category you want to display.
Customer name
#customer_name
The name of your customer.
Booking date
#appointment_day
The selected date of the booking.
Booking time
#appointment_time
The selected time of the booking.
Booking local date
#appointment_local_date
Displays the selected booking date converted to the customer’s time zone.
Booking local time
#appointment_local_time
Displays the selected booking time converted to the customer’s time zone.
Appointment ID
#appointment_id
Displays the identification number of the customer’s reservation.
Customer phone
#customer_phone
Displays the phone number of your customer.
Customer email
#customer_email
Displays the email of your customer.
Customer comment
#customer_comment
Displays the comment left from your customer.
Custom data
#customer_custom
Displays the custom data you defined using custom fields.
Items count
#items_count
Displays the number of items/places reserved.
Invoice number
#invoice_number
The invoice number auto-increased with online payments in Settings > Email notifications tab.
Selected count
#selected_count
Displays the count of time slots booked in Multiple mode
Total amount
#total_amount
The total amount to pay for your customer.
Payment link
#payment_link
The link to direct your customer to the payment page.
Cancel link
#cancel_link
The link to allow your customer the cancellation of his booking.
Agenda for tomorrow
#tomorrow_agenda
Displays all the bookings for the next day. Convenient for the administrator or staff.
Group customer name
#group_customer_name
List of the customers concerned by the booking.
Create loop
[appointment_loop_start][appointment_loop_end]
To use in case you allow multiple booking in one session. Put the date and time in between.
Administrator cancel link
#admin_cancel_link
In case you want to cancel your customer booking. To use in administrator email notification. It may be more convenient in some case.
Administrator approval link
#admin_approve_link
In case you want to approve manually your customer booking. To use in administrator email notification. It may be more convenient in some case.
Customer Google calendar link
#add_event_link
This link will automatically create an event into the Google calendar from your customer.
Booking time range
#time_range
In case you want to display in start-end format the time of the booking.
Subject placeholders
These are the placeholders you can use in your emails subjects.
Service name
#service_name
The name of the service you want to display.
Category names
#category_names
The name of the category you want to display.
Customer name
#customer_name
The name of your customer.
Booking date
#appointment_day
The selected date of the booking.
Booking time
#appointment_time
The selected time of the booking.
Booking local date
#appointment_local_date
Displays the selected booking date converted to the customer’s time zone.
Booking local time
#appointment_local_time
Displays the selected booking time converted to the customer’s time zone.
Appointment ID
#appointment_id
Displays the identification number of the customer’s reservation.
Customer phone
#customer_phone
Displays the phone number of your customer.
Customer email
#customer_email
Displays the email of your customer.
Customer comment
#customer_comment
Displays the comment left from your customer.
Custom data
#customer_custom
Displays the custom data you defined using custom fields.
Items count
#items_count
Displays the number of items/places reserved.
Total amount
#total_amount
The total amount to pay by your customer.
Group customer name
#group_customer_name
List of the customers concerned by the booking.
Create loop
[appointment_loop_start][appointment_loop_end]
To use in case you allow multiple booking in one session. Put the date and time in between.
Booking time range
#time_range
In case you want to display in start-end format the time of the booking.
Google calendarGoogle calendar
Overview
Since the version 3.2.0, you have the ability to connect calendars with different users and assign to each service an unlimited number of calendars. Thus, the data on reservations can come in an unlimited number of Google calendars.
Opportunities and limitations of integration with the Google Calendar:
Send data about appointment/reservation to Google Calendar + Multiple calendars + Automatic update of data in Google Calendar when updating data in Webba Booking + Automatic update of data in Webba Booking when updating data in Google Calendar - Automatic deletion of data in Google Calendar when deleting data in webba booking + Access for employees to authorize calendars + Considers events added in the google Calendar by blocking the time slots that cover those events 'length +
Google API setup
Open the Google cloud platform:You need to create a new project or open existing.In this manual, we create a new project, but you can use projects created previously.https://console.cloud.google.com/home/dashboard
If you already have projects, click on the top left, in our example, it is Webba Booking.
A window will open, then click on the +
1– Once the project is created, click again in the same place to select your new project, here it’s called 2018.
2 -Scroll down to Getting Started section and click on Enable APIs and get credentials like keys.Give your project a name and click Create
Click on ENABLE APIS AND SERVICES
Scroll down and click on Calendar API
Click on ENABLE
Click on Create credentials
Click on Client ID
Click on Configure consent screen
Complete with an application name (i.e. “Webba Calendar”) and click Save. Others fields are optional.
Click on Credentials tab
Click on Create Credentials and Choose OAuth client ID
Select Web application, enter the client name (i.e. Web client 1) and click Create
Copy the client ID and client secret somewhere (you will need it when setup Google Calendar in Webba Booking)
Google Calendar setup in Webba Booking
Setup Credentials
Open Webba Booking settings page
Open the Google Calendar tab, paste the Google API Client ID and Google API Client Secret and click Save Changes.
Add a new calendar
Open the Google Calendar page
Click Create new
Set the name of calendar (i.e. “My first calendar”). This name can be arbitrary and used to identify the calendar.
If you need to give an access to this calendar to another (not administrator user) select the user in the “Give access to this calendar to”. Use this option if it’s required to authorize the calendar by the person that doesn’t have administrator role in your WP.
Set the calendar id
In order to complete this, you need to create a calendar in your Google Calendar page.
Click New calendar and give a name to this last. Then click Create Calendar.
Your Google Calendar should be now displayed in your calendar list.
Hover over the name of your calendar and click on three points to access to its settings.
Copy the Calendar ID.
And paste it in the form you opened just before in your dashboard and save.
Manage calendar authorization
After creating the calendar, this last need to be authorized (connect to real Google Calendar by its owner).The process of authorization is different for WordPress administrators and other roles of users.Authorization by administrators
Open the Google Calendar page
Click on Manage authorization for the calendar you want to authorizeMake sure to add the link from the field in Authorized redirect URIs in the Google Client settings (see the Authorized Redirect URIs in Google API setup part)NOTE: after adding the URL to client settings you need to wait around 5 minutes.h
Click Authorize button
Click on Allow
Authorization by non administrators
Open the Google Calendar page.
Click on Manage authorization for the calendar you want to authorize
Click on Authorize button
Click on Allow
Remove authorization
То remove, you need to click on Manage authorization (see previous part)
Click on Remove authorization
Delete a calendar
To delete a calendar, click on the delete icon
Confirm deletion by click on Delete button
Edit a calendar
To edit a calendar, click on the edit icon
Set the fields and click Save
Note: You can choose between One-way or Two-way synchronization. One-way will add automatically bookings to your Google Calendar. Two ways mean every time you put something directly on your Google Calendar, the corresponding time slots in your Webba schedule (those that covers the time you defined here) will become unavailable for booking (here no data is imported).
Manage the event wording
To set the summary and description of a Google Calendar event, open the Settings page
Open the Translation tab and scroll down
Set the Google calendar event summary
Available placeholders are the following:
#service_name - service name#customer_name - customer’s name#appointment_id - unique appointment id
Set the Google calendar event description
Available placeholders are the followings:
#customer_name - customer’s name#customer_phone - customer’s phone#customer_email - customer’s email#customer_comment - customer’s comment#items_count - count of places (items) booked (for services with more than one item per time slot)#appointment_id - unique appointment id#customer_custom - coma separated list of custom fields.#total_amount - total price with tax for appointment / reservation#service_name - name of service
Setup a service to send data to Google Calendar
Open the Services page
Open the service for edit
Select the calendar
Save the service
Give customers the option to add their appointments on their google calendar
Step 1. Copy your Link to the page with Webba Booking shortcode (from Settings > Email notification tab) to
Step 2. Add this in your google console below the one allready pasted from Authorized redirect URIs step
Step 3. Add the #add_event_link placeholder in the email sent to the customer (Settings > Email notifications)
Step 4. Set the "Google calendar event summary (customer)" and "Google calendar event (Settings > Translation)
Step 5. Make a reservation test and try to add to your google calendar, by the link received in the notification to verify that all works well.
The Webba booking ApiThe Webba booking Api
Since the version 2.2.2, Webba Booking has a JavaScript API.
wbk_on_booking
Syntax
wbk_on_booking( service, time, name, email, phone, desc, quantity );
Parameters
service – numeric id of the service booked.
time – time of appointment in UNIX timestamp format.
name – name provided by a customer.
email – email provided by a customer.
phone – phone provided by a customer.
desc – description provided by a customer.
Description
This function is called on the successful response on booking. You can use it to perform actions like redirect, analytics tracking, changing HTML, custom output etc.
Where should I declare this function?
It does not matter where you put the declaration. You can put it in your theme files or use an external plugin for custom js code. The only one thing to pay attention is – make sure that you won't lose your custom js code after updates.
Example of code for page redirect on submission
function wbk_on_booking( service, time, name, email, phone, desc, quantity ){ window.location = "http://example.com/example.html"; }
TranslationTranslation
Most of the frontend wording is translatable at Translation tab of the Settings page.
If the current version of plugin doesn’t include your language, you can create the translation in a few simple steps :
Step 1. Download and install the poEdit editor (download link).
Step 2. Rename the languages/wbk.pot file to wbk-xx_XX.po where xx_XX is your locale (full list of locales available here)
Step 3. Open wbk-xx_XX.po in poEdit and set the translation sentences.
Step 4. Compile the mo-file in poEdit (from the File menu).
Step 5. Upload po and mo files to the languages folder of the plugin.
Step 6. Make sure you’ve set the correct language on the WordPress General Settings page.
LICENCESLICENCES
Used Assets
Here the list of licenses used with Webba Booking :
jQuery Datepicker by Keith Wood (MIT License)
jQuery Masked Input Plugin by Josh Bush (MIT License)
pickadate.js by Amsul (MIT License)
tablesaw by Filament Group (MIT License)
jQuery Mask Plugin by Igor Escobar (MIT License)
MIT Licences
Do you want to know more about what are a MIT Licenses, click here.
SUPPORTSUPPORT
If you face problems with the installation or customization of our plugin, please do not hesitate to contact us. You will be always welcome.
Moreover, we are very proud to see that people really appreciate our support. Make up your own mind by looking at reviews here.
CHANGELOGCHANGELOG
Our changelog is regularly updated after each new update of the plugin. So, if you want to know quickly what did change since the last version, you are in a good place.
3.3.68Improvements: details of previous appointments in the time slotImprovements: option to skip time slot selection in Extended modeImprovements: option to set minimal places per time slotImprovements: option to set scrolling containerBug fix: bug with night hoursBug fix: bug with DST in Schedule tools
3.3.63Improvements: cancelled appointments in the dedicated tableImprovements: option to define the count of days in extended modeImprovements: cancellation notifications for multiple appointmentsImprovements: option to lock time slot if at least one place is bookedImprovements: option and placeholder for unique invoice numberImprovements: more placeholders for a booked time slotImprovements: new options for more flexible sync with Google calendarImprovements: placeholder for the low limit in the checkout buttonBug fix: HTML in email notification messagesBug fix: the interface of the Schedule page (layout issues)Bug fix: option to re-configure the booking form label in multi-service bookingBug fix: issues with the sessionsBug fix: issues with not displayed appointments on the Schedule page (after count of places changed in the service settings)
3.3.51Integration with WooCommerce
3.3.42
Improvements: custom fields interface improvedImprovements: WPML integration improved (store data language for reminders)Improvements: option to hide service checkboxes in multi-service modeImprovements: option to choose when to add event to Administrator’s Google CalendarImprovements: service id in the Services tableBug fix: bug with creating payment on certain configurationsBug fix: bug with extended mode and time zones with DSTBug with the time zone when appointment approved3.3.34
Improvements: Multi-service bookingImprovements: Option to set the time zone when adding an event to customer’s Google calendarImprovements: Option for mass cancellation of appointments with the link (for administrator)Improvements: Option to send invoices when payment is doneImprovements: Multi-service bookingImprovements: Option to not allow more than one appointment per time slot for the user (restriction by email)Improvements: Option to not allow more than one appointment for the user on given service (restriction by email)Improvements: Option to add a new line in Google Calendar with the {n} symbolImprovements: Option to automatically delete appointments with the Awaiting approval statusBug fix: bug with the day availability after 360 days from the current dateBug fix: bug on the Schedule page in IE 11Bug fix: bug with coupons for PayPal paymentsBug fix: bug with the 2-way Google calendar sync on certain configurationsBug fix: DST issues fixedBug fix: bug with the local time and extended modeBug fix: bug fix iCal on PHP 5.43.3.23
Improvements: iCal integrationImprovements: "night hours" option to include time slots on a previous dayImprovements: option to show only local time in time slotsImprovements: #local placeholder to show local time in the booking form labelImprovements: gateway for using Conditional Fields for Contact Form 7Improvements: option to show end time in the interface of Appointments pageImprovements: #id placeholder in the Appointment information option (used in payment and cancellation pages)Improvements: Option to show appointments imported from Google calendar as "booked" in front-endImprovements: Option to show appointments locked by autolock feature as "booked" in front-endImprovements: Option to set "created by" property when add data to Google Calendar (for use on several domains)Improvements: Option to show end time for time slots on Schedule pageImprovements: Option to lock / unlock time for category on given date and time rangesBug fix: bug with notification duplicate on certain configurationsBug fix: bug with the reminder templateBug fix: bug with Safari and category list shortcodeBug fix: bug with #selected_count pleaceholder in the Booking done messages and form labelBug fix: bug with time slots schedule tools when using with the categoryBug fix: bug with the long custom formsBug fix: bug fixes with the autlock on certain configurationsBug fix: bug with step option of the service on certain configurationsBug fix: bug with removal events from Google Calendar when appointment canceled on Schedule pageBug fix: bug with 2-way Google Calendar sync when import events with long duration
3.3.15
Improvements: service category list on frontendImprovements: placeholder in subjects when multiple booking enabled.Improvements: 15 new subject placeholders.Improvements: #selected_count placeholder for subject and messages to show the count of booked times slots in multiple mode.Improvements: prevent automatic cancellation of appointments if the offline payment method is chosen.Improvements: payment method column in the Appointments table.Improvements: option to set up the format of the decimal part of the price.Improvements: #start_end placeholder for the "Appointment information" option.Improvements: cache for 2-way Google Calendar synchronizationImprovements: customer's emails in the data sent to StripeImprovements: minimal limit for multi-bookingImprovements: option to sent copies of invoices to administratorImprovements: option to set redirect page for successful PayPal paymentsImprovements: offline payment methods block automatic cancellation of appointmentsImprovements: option to allow cancellation of paid appointmentsImprovements: exclusive checkboxes (CF7 forms)Bug fix: bug with the certain placeholders of the "booking done" message.Bug fix: bug with the certain past dates when the dropdown date is enabled and service has limits.
3.3.12
Bug fix: bug with the page loading time on certain configurations
3.3.11
Bug fix: bug with the 2-way sync on certain configurationsBug fix: bug with time placeholder on certain configurations
3.3.9
Improvements: two-ways Google Calendar synchronizationImprovements: option for auto-redirect to PayPal without approvingImprovements: payment link for multiple appointmentsImprovements: cancellation link for multiple appointmentsImprovements: placeholder for time range in the booking form label optionImprovements: placeholder for time range in the payment item name optionBug fix: bug with the colons in a custom fieldsBug fix: bug with the placeholders in the Thank you message
3.3.8
Bug fix: bug with jQuery no-conflict mode
3.3.7
Improvements: couponsImprovements: appointments limit for services (override the global limit setting)Improvements: action to hook booking event in external pluginsImprovements: option to set days for remindersImprovements: option to set tax, used for total_amount placeholderImprovements: date range placeholder to set start-end format of appointment timeImprovements: PayPal internal error messages can be translated with po files.Improvements: email notification of payment to a customerImprovements: email notification of payment to an administrator.Bug fix: red error border in the custom select field.
3.3
Improvements: online payments with StripeImprovements: HTML in the service descriptionImprovements: css classes for PayPal messagesBug fix: bug with Google Calendar synchronization on PHP 5.4.
3.2.23
Bug fix: attachements in multiple mode.Improvements: attachments in custom forms.Improvements: attachments in custom forms.Improvements: option to set checkbox field as requiredImprovements: option to set selected service in urlImprovements: appearance options interface improved3.2.21
Improvements: Google calendar integration improved.Bug fix: bug with category placeholder.3.2.18
Improvements: more placeholders for Google event summary.Improvements: e-mail message placeholders for customer's local time and date.3.2.17
Improvements: email notification placeholder for current category.Improvements: option to show booked time slots for multi-seats services.Improvements: service description length increased.Bug fix: bug with jQuery no-conflict mode.Improvements: appearance options interface improved3.2.14
Bug fix: DST issues on the backend schedule page.3.2.12
Bug fix: payment button not added after booking.3.2.11
Improvements: more translation options.3.2.9
Improvements: adding events to customer\'s Google Calendar.Improvements: email notification to "send copies" email when customer cancel the appointment.Improvements: option to set count of dates in the dropdown date select input.Improvements: option to show locked time slots as booked in the frontent.Bug fix: date format in the holidays setting fixed.Bug fix: bug with the user name placeholder in the timeslot.Bug fix: DST issues fixed.Bug fix: bug with the.Bug fix: compatibility with PHP 5.3.Bug fix: issues with time hole optimization and autolock.Bug fix: dropdown date select become empty when cancel button clicked.3.2.5
Bug fix: notification on cancellation bugs fixed.3.2.4
Improvements: cancel or approve the appointment by the link sent in administrator notification.3.2.2
Improvements: email notification to customer when administrator cancel appointment.Improvements: option to replace popup calendar with date select dropdown.Improvements: new placeholder for email notifications - category namesImprovements: option to skip date selection in the booking form (managed by service setting Availability date range)Bug fix: hide checkout button when booking form is rendered.Bug fix: unlock the appointments when appointment in connected service is canceled.Bug fix: bug with cancellation of appointments on some versions of iOS.3.2.0
- Improvements: integration with Google Calendar.- Improvements: more compatibility with WPML.- Improvements: ability to edit comments in the Appointments page.- Improvements: ability to edit comments in the Appointments page.- Improvements: more compatibility with WPML.- Improvements: option to send invoices.- Improvements: option to show service description under select service input on the frontend.- Improvements: option to control the count of places allowed for booking (used for the services with several places per time slot)- Improvements: option to optimize schedule when using autolock and services with different durations.- Bug fix: bug with appointment controls in appointment table.- Bug fix: bug with customer comments appeared as a custom field.- Bug fix: bug with appearance presets loading on certain web servers- Bug fix: bug with customer comments appeared as a custom field.- Bug fix: bug with searching time slots on basic mode on certain configurations.- Bug fix: time zone conversion conflict on certain configurations.- Bug fix: bug with service update, creation on certain configurations.- Bug fix: reminders not working correctly after 3.1.26.- Bug fix: bug with masked input on Chrome for Android.- Bug fix: bug fix editor.- Bug fix: bug with default places count.- Bug fix: bug with booked time slots on certain configurations.- Bug fix: bug with the subject of the email sent on approval.- Bug fix: bug with appointment time in reminders.3.1.22
- Improvements: option to add custom fields values to customer name in the schedule and appointments table.
- Improvements: service business hours interface improved.
- Improvements: option to set the date range of service availability.
- Improvements: cancellation buffer option (to prevent cancellation on X days before the appointment).
- Improvements: option to skip time slot selection and use default time.
- Improvements: apply backend date format on the Schedule page.
- Improvements: appointment table interface improved (select all services, select services by category).
- Improvements: CSS of cancellation and payment forms improved.
- Improvements: CF7 text area field is available as a custom field.
- Improvements: minor CSS - Improvements.
- Improvements: control appearance in Safari mobile improved.
- Bug fix: cancel button duplicate in extended mode.
- Bug fix: email validation improved (long domains support).
- Bug fix: bug in jQuery no-conflict mode - Bug fix: bug with auto lock on certain service settings.
- Bug fix: bug with searching time slots on certain configurations of extended mode.
- Bug fix: bug with CSS on the frontend.
- Bug fix: bug with cancellation and payment links on certain configurations of servers.
- Bug fix: bug with sending an email to the administrator in multiple booking mode.
- Bug fix: incorrect message on deleting data in the backend tables.
- Bug fix: bug in Safari with the checkout button.3.1.8
- Improvements: booking form interface improved for services with flexible step.
- Improvements: email message length increased.
- Improvements: ability to set the step for services with multiple places per time slot.3.1.3
- Improvements: multiple time slots selection in one session.
- Improvements: group services by categories (shortcode improved).
- Improvements: autolock feature improved (ability to lock appointments by service category).
- Improvements: option to show customer's local time in the time slots, based on time zone.
- Improvements: price placeholder in the email notifications and reminders.
- Improvements: link to pay online in the email notifications and reminders.
- Improvements: options to delete not paid appointments within predefined time.
- Improvements: link to delete an appointment in the email notifications and reminders.
- Improvements: additional masked input embeded (more compatibility with mobile devices)
- Improvements: export appointments to csv file.
- Improvements: advanced appointments status system.
- Improvements: e-mail notification on appointment approve.
- Improvements: customer's comment length extended to 1024 symbols.
- Improvements: jQuery no-conflict mode on front end.
- Improvements: checking current time bofore booking form submit.
- Bug fix: bug on certain date formats in the appointments table.
3.0.16
– Bug fix: bug with disabling fully booked dates (locked time slots was skipped).
3.0.15
– Improvements: add, edit appointments in the appointment table.
– Improvements: option to send a copy of emails to predefined email address.
– Improvements: option to disable dates in popup calendar if no time slots available.
– Improvements: option to set preparation time for the service to prevent booking on today, tomorrow etc.
– Improvements: popup calendar style improved
– Improvements: options interface improved
3.0.9
– Improvements: time slot auto lock feature.
– Improvements: option to display cancel button.
– Improvements: auto lock on manual booking.
– Bug fix: bug with booked timeslot when show booked slots enabled.
– Bug fix: unable to select the current day on 7 days services.
– Bug fix: bug with auto lock services with custom gaps.
3.0.5
- Improvements: custom fields in the appointment table.
- Improvements: status wording improved.
- Bug fix: form refreshing.
- Bug fix: email templates with images.
3.0.4
- Improvements: compatibility with Contact Form 7 Dynamic Text Extension.
- Improvements: email validation improved.
3.0.3
– Improvements: unlimited email templates for notifications and reminders.
– Improvements: option to hide the form when a booking is done.
– Bug fix: update active time slot when a booking is done.
3.0.2
– Improvements: option to hide address on PayPal checkout.
3.0.1
– Improvements: schedule tools to lock and unlock range of dates.
3.0
- Improvements : Online payments with PayPal.
- Improvements : Service price option added.
- Improvements : appointment status added.
- Improvements : Minor CSS improvements
- Improvements: Compatibility with Wordpress 4.6.1.
- Improvements : unavailable dates in date picker.
- Bug fix: Date picker bug fix.
2.2.12
- Bug fix: update server.
2.2.9
- Bug fix: default book button text fixed.
2.2.8
- Improvements: custom user roles for service access.
2.2.6
- Improvements: Appointment table.
- Improvements: Auto-lock time slots (connection between services).
- Improvements: JavaScript API (enable to trigger custom js code on booking).
- Bug fix: issue with email sending on WordPress 4.6.
- Bug fix: error if appointment duration is less than 10 minutes.
- Bug fix: issue with the custom checkboxes.
2.2.0
- Improvements : email notifications for customers provided as group members in custom fields.
- Improvements : options to edit subject and message for group members email messages.
- Improvements : option to display booked time slot.
- Improvements : option to edit booked time slot text (with placeholders).
- Improvements : minor CSS improvements.
- Bug fix : time slot interval without the gap.
- Bug fix : error message in booking form with defined service.
2.1.8
- Bug fix: slot with 0 available.
2.1.6
- Improvements : the format of time on the time slot block.
- Improvements : business hours setup with 15 minutes step.
- Improvements : Detailed or simple timeslot view.
- Improvements : CF7 select field validation (required / not required).
- Improvements : E-mail reminders for customers and administrators.
- Bug fix : list of users at service page.
- Bug fix : phone mask issue.
2.1.1
- Daily reminders.
2.1.0
- Front end CSS improvements.
- Bug fix.
2.0.4
- Front-end css improvements.
2.0.0
– Appearance customization: 79 frontend design presets, 80+ options.
– CF7 acceptance field support.
– Active time slot visualization.
– Minor bug fix.
1.3.3
– Front-end colors customization.
1.3.1
– Several booking per 1 time slot for team booking feature.
– Front end labels as editable options.
– Back end interface improve.
– Minor bug fix.
1.2.0
– Custom fields in the booking form.
1.1.0
– Appointment duration limit removed.
– Romanian language available.
– Russian language available.
1.0.9
– Phone number format options added.
– Minor bug fix.
1.0.7
– Plugin adapted for using via page builders.
– German language available.
– Minor bug fix.
1.0.5
– French language available.
– Minor bug fix.
1.0.4
– Booking form style updated.
– Translation enabled (pot-file included).
– Bug fix. 1.0.2 (14 December 15)
– Bug fix. 1.0.1 (10 December 15)
– Backend calendar improved.
1.0
– Initial release.